using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Threading;//有线程这个很重要namespace 多线程{ public partial class Form1 : Form { //声明3个线程 Thread th1; Thread th2; Thread th3; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { th1 = new Thread(new ThreadStart(Run1)); //固定写法 th2 = new Thread(new ThreadStart(Run2)); th3 = new Thread(new ThreadStart(Run3)); th1.Priority = ThreadPriority.Highest; //设置优先级 th2.Priority = ThreadPriority.AboveNormal; th3.Priority = ThreadPriority.Normal; th1.Start(); //启动线程.要每次启动线程? th2.Start(); th3.Start(); //下面这句代码,解决:线程间操作无效: 从不是创建控件 Control.CheckForIllegalCrossThreadCalls = false; } private void Run1() { for (bool i = false; i == false; )//这样可以一直运行 { string dt0 = textBox2.Text.ToString(); dt0 = dt0 "1"; textBox1.Text = dt0; // Thread.Sleep(1);//相当于扫苗时间 } } private void Run2() { for (int i = 0; i < 50; i ) { textBox2.Text = i.ToString(); Thread.Sleep(100); } } private void Run3() { for (int i = 0; i < 50; i ) { textBox3.Text = i.ToString(); Thread.Sleep(100); } } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { //退出界面,关闭线程 th1.Abort(); th2.Abort(); th3.Abort(); } }}
评论